package com.ruoyi.business.modbus.serial.impl;

import com.ruoyi.business.modbus.domain.ModbusMasterDevice;
import com.ruoyi.business.modbus.serial.SerialPortWrapperFactory;
import com.ruoyi.business.modbus.serial.ISerialPortService;
import org.springframework.stereotype.Service;

@Service
public class SerialPortServiceImpl implements ISerialPortService {

    
    /**
     * 测试串口连接
     * 
     * @param device 设备信息
     * @return 连接结果
     */
    @Override
    public boolean testSerialPortConnection(ModbusMasterDevice device)
    {
        return SerialPortWrapperFactory.testSerialPortConnection(device);
    }

    /**
     * 获取可用串口列表
     * 
     * @return 串口名称数组
     */
    @Override
    public String[] getAvailableSerialPorts()
    {
        return SerialPortWrapperFactory.getAvailableSerialPorts();
    }

    /**
     * 检查串口是否可用
     * 
     * @param portName 串口名称
     * @return 是否可用
     */
    @Override
    public boolean isSerialPortAvailable(String portName)
    {
        return SerialPortWrapperFactory.isPortAvailable(portName);
    }

    /**
     * 获取当前使用的串口库名称
     * 
     * @return 串口库名称
     */
    @Override
    public String getSerialLibraryName()
    {
        return SerialPortWrapperFactory.getLibraryName();
    }

    /**
     * 检查串口库是否可用
     * 
     * @return 是否可用
     */
    @Override
    public boolean isSerialLibraryAvailable()
    {
        return SerialPortWrapperFactory.isLibraryAvailable();
    }
    
}
